package com.jy.rhin.model.header;


import com.jy.rhin.infra.cda.EDataElement;
import com.jy.rhin.infra.cda.XPath;
import com.jy.rhin.infra.cda.XValid;
import lombok.Data;

/**
 * @Author 姚俊
 * @Date 2023/2/7 9:30
 * @Description 就诊信息
 */
@Data
public class ComponentOf {

    //就诊时间
    @XPath(path = "/encompassingEncounter/effectiveTime/@value"
            , xValid = @XValid(type = "dataElement", dataElement = EDataElement.DE06_00_062_00, nullable = true))
    String effectiveTime;
    //科室名称
    @XPath(path = "/encompassingEncounter/encounterParticipant/assignedEntity/representedOrganization/name/text()"
            , xValid = @XValid(type = "dataElement", dataElement = EDataElement.DE08_10_026_00, nullable = true))
    String representedOrganizationName;
    //就诊机构代码
    @XPath(path = "/encompassingEncounter/encounterParticipant/assignedEntity/representedOrganization/asOrganizationPartOf/wholeOrganization/id/@extension"
            , xValid = @XValid(type = "dataElement", dataElement = EDataElement.DE08_10_052_00, nullable = true))
    String wholeOrganizationId;
    //就诊机构名称
    @XPath(path = "/encompassingEncounter/encounterParticipant/assignedEntity/representedOrganization/asOrganizationPartOf/wholeOrganization/name/text()"
            , xValid = @XValid(type = "dataElement", dataElement = EDataElement.DE08_10_013_00, nullable = true))
    String wholeOrganizationName;
}
